<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>简介</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="book.ctype.html">« Ctype</a></li>
      <li style="float: right;"><a href="ctype.setup.html">安装/配置 »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="book.ctype.html">Ctype</a></li>
    <li>简介</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="intro.ctype" class="preface">
  <h1 class="title">简介</h1>
  <p class="para">
   该扩展所提供的函数用来检测
   在当前的区域设定下（参见 <span class="function"><a href="function.setlocale.html" class="function">setlocale()</a></span>）检查字符或者字符串
   是否仅包含指定类型的字符。
  </p>
  <p class="para">
   当使用整数作为参数调用这些函数的时候，
   这些函数的行为和 C 语言（<var class="filename">ctype.h</var>）
   中的对应函数一样。
   也就是说，如果传入了小于 256 的整数参数，它会把这个整数当做 ASCII 码值，
   来检测对应字符是否符合要求（数值检测的 ASCII 值范围为 0x30-0x39）。
   如果传入的参数介于 -128 和 -1 之间（含 -128 和 -1），它会先将其加上 256，然后再进行检测。
  </p>
  <div class="warning"><strong class="warning">警告</strong><p class="para">
自 PHP 8.1.0 起，弃用传递非字符串参数。未来该参数将解释为字符串而不是 ASCII 
码点。根据预期行为，应将参数转为字符串或显式调用 <span class="function"><a href="function.chr.html" class="function">chr()</a></span>。</p></div>
  <p class="para">
   当传入参数为字符串的时候，它会对字符串中的每个字符进行检测，
   仅当字符串中的每个字符都符合指定条件的情况下才会返回 <strong><code>true</code></strong>。
   当使用空字符串调用时，结果始终为 <strong><code>false</code></strong>。
  </p>
  <p class="para">
   传入除整数和字符串之外的参数
   会立即返回 <strong><code>false</code></strong>。
  </p>
  <p class="para">
   需要提醒的是，如果可以满足需求，请优先考虑使用 ctype 函数，
   而不是正则表达式或者对应的 <code class="literal">&quot;str_*&quot;</code> 和 <code class="literal">&quot;is_*&quot;</code> 函数。
   因为 ctype 使用的是原生 C 库，所以会有明显的性能优势。
  </p>
  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <p class="para">
    这些函数和 Python 中的 “ctypes” 库没有任何关系。
    ctype 的名字源自对应的 C 语言中的头文件 <var class="filename">ctype.h</var>。
   </p>
   <p class="para">
    实际上，这个扩展是先于 Python 的 “ctypes”，所以该命名引起的任何困扰都不是 PHP 的错。
   </p>
  </p></blockquote>
 </div></div></div></body></html>